/**
 *  type：表示提问的类型，包括：input、confirm、 list、rawlist、expand、checkbox、password、editor。
    name: 存储当前输入的值。
    message：问题的描述。
    default：默认值。
    choices：列表选项，在某些type下可用，并且包含一个分隔符(separator)；
    validate：对用户的回答进行校验。
    filter：对用户的回答进行过滤处理，返回处理后的值。
    when：根据前面问题的回答，判断当前问题是否需要被回答。
    pageSize：修改某些type类型下的渲染行数。
    prefix：修改message默认前缀。
    suffix：修改message默认后缀。
 */
const inquirer = require('inquirer')
const download = require('download-git-repo')
const path = require('path')
function init() {
  const root = process.cwd()
  inquirer
    .prompt([
      {
        type: 'list',
        message: '你要创建的',
        name: 'type',
        default: 'vue2',
        choices: ['vue2', 'vue3', 'ts', 'js', 'monorepo'],
        // filter: function (val) {
        //   // 使用filter将值变为大写
        //   return val.toUpperCase()
        // },
      },
      {
        type: 'input',
        message: '项目名称',
        name: 'name',
        default: 'test',
      },
    ])
    .then((answer) => {
      // 用户输入的结果最终会在这里输出
      download(
        `direct:https://gitee.com/lin_cli_templates/${answer.type}-template`,
        path.join(root, answer.name),
        { clone: true },
        function (err) {
          console.log(err ? 'Error' : 'Success')
          console.error(err)
        }
      )
      console.log(answer)
    })
}
module.exports = init
